package com.pureut.quality.domain.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

@Data
@TableName("external_audit_plan")
public class AuditNonconformityDto {
    /**
     * 主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 审核类型（1.认证审核，2.第一次监督审核，3.再认证审核）
     */
    private String auditType;

    /**
     * 不符合编码
     */
    private String nonconformityCode;

    /**
     * 受审核组织
     */
    private String organization;

    /**
     * 受审核部门
     */
    private String department;

    /**
     * 审核日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date auditDate;

    /**
     * 不符合事实描述
     */
    private String description;

    /**
     * 不符合条款
     */
    private String clause;

    /**
     * 不符合类型（1、一般不符合，2、严重不符合）
     */
    private String nonconformityType;

    /**
     * 对纠正行动的要求
     */
    private String correctiveRequirement;

    /**
     * 审核员
     */
    private String auditor;

    /**
     * 审核组长
     */
    private String leadAuditor;

    /**
     * 联络员
     */
    private String liaisonOfficer;

    /**
     * 创建人
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    /**
     * 修改人
     */
    private String updateBy;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updateTime;

    /**
     * 受审核方代表
     */
    private String representative;

    /**
     * 日期1
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dateTimeOne;

    /**
     * 纠正行动是否有效（0否，1是）
     */
    private String isCorrectiveEffective;

    /**
     * 纠正措施计划及其实施是否有效（0否，1是）
     */
    private String isPlanEffective;

    /**
     * 验证人员
     */
    private String verifierOne;

    /**
     * 日期2
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dateTimeTwo;

    /**
     * 纠正措施
     */
    private String correctiveAction;

    /**
     * 实施效果
     */
    private String implementationEffect;

    /**
     * 验证情况
     */
    private String verificationStatus;

    /**
     * 验证人员
     */
    private String verifierTwo;

    /**
     * 日期3
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date dateTimeThree;

    /**
     * 状态
     */
    private String status;
}